import axios from 'axios'
import router from '../router/index'
let http = axios.create({
    timeout:10000,
    // baseURL:'/api'
    // baseURL这在开发环境的时候需要/api去代理请求  但是在生产环境就不需要这个/api了
    // 所以在打包项目之前需要将这个给删除掉
})
//console.log(process.env)
process.env.NODE_ENV==='development'?
    http.defaults.baseURL = process.env.VUE_APP_BASE_URL:
    http.defaults.baseURL = process.env.VUE_APP_BASE_URL

//请求前干什么
http.interceptors.request.use(req=>{
    let token = sessionStorage.getItem('token')
    token && (req.headers['Authorization'] = `Bearer ${token}`)
    return req
},error=>Promise.reject(error))
// 响应后干什么
http.interceptors.response.use(resp=>{
    resp.data.token && sessionStorage.setItem('token',resp.data.token)
    return resp
},error=>{
    let _resp = error.response
    switch (_resp.status) {
        case 401 :
            sessionStorage.removeItem('token')
            sessionStorage.removeItem('userName')
            sessionStorage.removeItem('type')
            alert('身份已过期,请重新登录')
            return router.push('/login')
    }
    return Promise.reject(error.response.data)
})

export default http
